// 传入开始时间和结束时间，当前时间在开始时间和结束时间范围内就返回true否则返回false
/**
 * 转换为毫秒时间戳
 * @param {number|string|Date} time
 * @returns {number} 毫秒时间戳
 */
function toTimestamp(time) {
    if (time instanceof Date) {
        return time.getTime();
    }
    if (typeof time === 'string') {
        return new Date(time).getTime();
    }
    if (typeof time === 'number') {
        // 如果是 10 位秒级时间戳，转换成毫秒
        return time < 1e12 ? time * 1000 : time;
    }
    throw new Error('不支持的时间格式');
}

/**
 * 判断当前时间是否在指定时间范围内
 * @param {number|string|Date} startTime 开始时间
 * @param {number|string|Date} endTime   结束时间
 * @returns {boolean} true 表示当前时间在范围内
 */
export const isNowBetween = (startTime, endTime) => {
    const now = Date.now();
    const start = toTimestamp(startTime);
    const end = toTimestamp(endTime);
    console.log('当前时间是否在范围内:', now >= start && now <= end);
    return now >= start && now <= end;
}

// 示例
// console.log(isNowBetween('2025-08-12 08:00:00', '2025-08-12 18:00:00')); // true/false
// console.log(isNowBetween(1734048000, 1734084000)); // 秒级时间戳
// console.log(isNowBetween(Date.now() - 1000, Date.now() + 1000)); // 毫秒时间戳
// console.log(isNowBetween(new Date('2025-08-12 08:00:00'), new Date('2025-08-12 18:00:00'))); // Date对象

// 实例1：传入秒级时间戳
// import { isNowBetween } from '@/utils/isNowBetween.js'
// disabled: isNowBetween(item.start, item.end) ? false : true,//是否禁用按钮
